# 装饰器
from functools import wraps
from flask import url_for, redirect, g

# 登录验证装饰器
def login_required(func):
    @wraps(func) # 保留原函数的元信息
    def decorated(*args, **kwargs):
        if not g.user:
            return redirect(url_for('user.login')) # 重定向到登录页面
        return func(*args, **kwargs) # 返回原函数
    return decorated # 返回装饰后的函数